package ar.edu.unicen.exa.isistan.archassis.metadata;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JavaObject implements Serializable {
	public static final String NAME = "name";
	
	private Map<String, String> atributos;
	
	private Map<String, String> relacionUnaria;
	private Map<String, List<String>> relacionNaria;
	
	/**
	 * Creador que pide los atributos obligatorios.
	 * 
	 * @param name Nombre del objeto (Interface, Class, Variable).
	 */
	public JavaObject(String name) {
		atributos = new HashMap<String, String>();
		relacionNaria = new HashMap<String, List<String>>();
		relacionUnaria = new HashMap<String, String>();
		setAttribute(NAME, name);
	}
	
	protected void setAttribute(String key, String value) {
		atributos.put(key, value);
	}
	public String getAttribute(String key) {
		return atributos.get(key);
	}
	
	protected void setRelacionNaria(String key, List<String> list) {
		relacionNaria.put(key, list);
	}
	public List<String> getRelacionNaria(String key) {
		return relacionNaria.get(key);
	}
	
	protected void setRelacionUnaria(String key, String value) {
		relacionUnaria.put(key, value);
	}
	public String getRelacionUnaria(String key) {
		return relacionUnaria.get(key);
	}
	
	public String getName() {
		return atributos.get(NAME);
	}
	
}
